home *** CD-ROM | disk | FTP | other *** search
- #! /bin/sh
- # gnome-doc-prepare - Prepare a package to use gnome-doc-utils.
- # tools/gnome-doc-prepare. Generated from gnome-doc-prepare.in by configure.
- # Copyright (C) 1996-1999 Free Software Foundation, Inc.
- # Copyright (C) 2001 Eazel, Inc.
- # Copyright (C) 2004 Danilo Segan <danilo@gnome.org>.
- #
- # Originally based on libtoolize by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
- #
- # Modified for xml-i18n-tools by Maciej Stachowiak <mjs@noisehavoc.org>
- #
- # Modified for gnome-doc-utils by Danilo Šegan <danilo@gnome.org>
- #
- # This program is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
- # the Free Software Foundation; either version 2 of the License, or
- # (at your option) any later version.
- #
- # This program is distributed in the hope that it will be useful, but
- # WITHOUT ANY WARRANTY; without even the implied warranty of
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- # General Public License for more details.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program; if not, write to the Free Software
- # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- #
- # As a special exception to the GNU General Public License, if you
- # distribute this file as part of a program that contains a
- # configuration script generated by Autoconf, you may include it under
- # the same distribution terms that you use for the rest of that program.
-
- # The name of this program.
- progname=`echo "$0" | sed 's%^.*/%%'`
-
- # Constants.
- PROGRAM=gnome-doc-prepare
- PACKAGE=gnome-doc-utils
- VERSION=0.18.0
-
- # Directory names.
- prefix=/usr
- datarootdir=${prefix}/share
- datadir=${datarootdir}
- pkgdatadir=${datarootdir}/gnome-doc-utils
-
- # FIXME: I want this through pkg-config
- gdu_m4="${datadir}/aclocal/gnome-doc-utils.m4"
- gdu_make="${pkgdatadir}/gnome-doc-utils.make"
- omf_template="${pkgdatadir}/template.omf.in"
- xml_template="${pkgdatadir}/template-document.xml"
- makefile_template="${pkgdatadir}/template.make"
-
- dry_run=no
- help="Try '$progname --help' for more information."
- rm="rm -f"
- rm_rec="rm -rf"
- ln_s="ln -s"
- cp="cp -f"
- mkdir="mkdir"
- sed="sed"
- mkinstalldirs="mkinstalldirs"
-
- # Global variables.
- automake=
- copy=
- force=
- status=0
-
- for arg
- do
- case "$arg" in
- --help)
- cat <<EOF
- Usage: $progname [OPTION]...
-
- Prepare a package to use gnome-doc-utils.
-
- --automake work silently, and assume that Automake is in use
- -c, --copy copy files rather than symlinking them
- --new-document DOCUMENT
- initialize help/DOCUMENT/*
- --debug enable verbose shell tracing
- -n, --dry-run print commands rather than running them
- -f, --force replace existing files
- --help display this message and exit
- --version print version information and exit
-
- You must 'cd' to the top directory of your package before you run
- '$progname'.
- EOF
- exit 0
- ;;
-
- --version)
- echo "$PROGRAM (GNU $PACKAGE) $VERSION"
- exit 0
- ;;
-
- --automake)
- automake=yes
- ;;
-
- --new-document)
- shift
- docname=yes
- ;;
-
- -c | --copy)
- ln_s=
- ;;
-
- --debug)
- echo "$progname: enabling shell trace mode"
- set -x
- ;;
-
- -n | --dry-run)
- if test "$dry_run" != yes; then
- dry_run=yes
- rm="echo $rm"
- rm_rec="echo $rm_rec"
- test -n "$ln_s" && ln_s="echo $ln_s"
- cp="echo $cp"
- mkdir="echo mkdir"
- mkinstalldirs="echo $mkinstalldirs"
- sed="echo $sed"
- fi
- ;;
-
- -f | --force)
- force=yes
- ;;
-
- -*)
- echo "$progname: unrecognized option '$arg'" 1>&2
- echo "$help" 1>&2
- exit 1
- ;;
-
- *)
- if [ "x$docname" = "xyes" ]
- then
- newdocument="$arg"
- docname=no
- else
- echo "$progname: too many arguments" 1>&2
- echo "$help" 1>&2
- exit 1
- fi
- ;;
- esac
- done
-
- if test -f configure.ac; then
- configure="configure.ac"
- else
- if test -f configure.in; then
- configure="configure.in"
- else
- echo "$progname: neither 'configure.ac' nor 'configure.in' exists" 1>&2
- echo "$help" 1>&2
- exit 1
- fi
- fi
-
-
- files='gnome-doc-utils.make'
-
- auxdir=.
- auxdirline=`egrep '^AC_CONFIG_AUX_DIR' $configure 2>/dev/null`
- if test -n "$auxdirline"; then
- # Handle explicit AC_CONFIG_AUX_DIR settings.
- auxdir=`echo "$auxdirline" | sed 's/^AC_CONFIG_AUX_DIR(\([^)]*\)).*$/\1/'`
-
- if test "$auxdir" = "$auxdirline"; then
- echo "$progname: invalid AC_CONFIG_AUX_DIR syntax: $auxdirline" 1>&2
- exit 1
- else
- # Strip any quote brackets.
- auxdir=`echo "$auxdir" | sed 's/^\[\(.*\)\]$/\1/g'`
- case "$auxdir" in
- *\$*)
- echo "$progname: cannot handle variables in AC_CONFIG_AUX_DIR" 1>&2
- exit 1
- ;;
- *)
- ;;
- esac
- fi
- else
- # Try to discover auxdir the same way it is discovered by configure.
- # Note that we default to the current directory.
- for dir in . .. ../..; do
- if test -f $dir/install-sh; then
- auxdir=$dir
- break
- elif test -f $dir/install.sh; then
- auxdir=$dir
- break
- fi
- done
- fi
-
- if test -z "$automake"; then
- if egrep '^GNOME_DOC_INIT' $configure >/dev/null 2>&1; then :
- else
- echo "Remember to add 'GNOME_DOC_INIT' to $configure."
- fi
-
- if grep 'generated automatically by aclocal' aclocal.m4 >/dev/null 2>&1; then
- updatemsg="update your 'aclocal.m4' by running aclocal"
- else
- updatemsg="add the contents of '$gdu_m4' to 'aclocal.m4'"
- fi
-
- if egrep '^AC_DEFUN\(GNOME_DOC_INIT' aclocal.m4 >/dev/null 2>&1; then
- # Check the version number on gnome-doc-utils.m4 and the one used in aclocal.m4.
- instserial=`grep '^# serial ' $gdu_m4 | grep 'GNOME_DOC_INIT' | sed -e 's/^# serial \([0-9][0-9]*\).*$/\1/; q'`
-
- if test -z "$instserial"; then
- echo "$progname: warning: no serial number on '$gdu_m4'" 1>&2
- else
- # If the local macro has no serial number, we assume it's ancient.
- localserial=`grep '^# serial ' aclocal.m4 | grep 'GNOME_DOC_INIT' | sed -e 's/^# serial \([0-9][0-9]*\).*$/\1/; q'`
-
- test -z "$localserial" && localserial=0
-
- if test "$localserial" -lt "$instserial"; then
- echo "You should $updatemsg."
- elif test "$localserial" -gt "$instserial"; then
- echo "$progname: '$gdu_m4' is serial $instserial, less than $localserial in 'aclocal.m4'" 1>&2
- if test -z "$force"; then
- echo "Use '--force' to replace newer gnome-doc-utils files with this version." 1>&2
- exit 1
- fi
- echo "To remain compatible, you should $updatemsg."
- fi
- fi
- else
- echo "You should $updatemsg."
- fi
- fi
-
-
-
- # Change to the auxiliary directory.
- (
- cur=`pwd`
- if test "$auxdir" != .; then
- test -z "$automake" && echo "Putting files in AC_CONFIG_AUX_DIR, '$auxdir'."
- cd $auxdir || exit 1
- fi
-
- for file in $files; do
- if test -f "$file" && test -z "$force"; then
- test -z "$automake" && echo "$progname: '$file' exists: use '--force' to overwrite" 1>&2
- continue
- fi
-
- $rm $file
- if test -n "$ln_s" && $ln_s $pkgdatadir/`basename $file` $file; then :
- elif $cp $pkgdatadir/`basename $file` $file; then :
- else
- echo "$progname: cannot copy '$pkgdatadir/`basename $file`' to '$file'" 1>&2
- status=1
- fi
- done
-
- exit $status
- # make sure this subshell exits with the exit value if it failed
- ) || exit $?
-
- # Adapted from gtkdocize:
- # If the AC_CONFIG_MACRO_DIR() macro is used, copy gnome-doc-utils.m4
- # from our prefix to that directory. This makes sure that the M4 macro
- # used matches the automake fragment.
- # If AC_CONFIG_MACRO_DIR is not used, the macro won't be copied, and
- # the correct flags must be passed to aclocal for it to find the macro.
- m4dir=`cat "$configure" | grep '^AC_CONFIG_MACRO_DIR' | sed -n -e 's/AC_CONFIG_MACRO_DIR(\([^()]*\))/\1/p' | sed -e 's/^\[\(.*\)\]$/\1/' | sed -e 1q`
-
- if test -n "$m4dir"; then
- (
- cur=`pwd`
- if test "$m4dir" != .; then
- test -z "$automake" && echo "Putting files in AC_CONFIG_MACRO_DIR, '$m4dir'."
- cd $m4dir || exit 1
- fi
-
- files='gnome-doc-utils.m4'
-
- for file in $files; do
- if test -f "$file" && test -z "$force"; then
- test -z "$automake" && echo "$progname: '$file' exists: use '--force' to overwrite" 1>&2
- continue
- fi
-
- $rm $file
- if test -n "$ln_s" && $ln_s $datadir/aclocal/$file $file; then :
- elif $cp $datadir/aclocal/$file $file; then :
- else
- echo "$progname: cannot copy '$datadir/aclocal/$file' to '$file'" 1>&2
- status=1
- fi
- done
-
- exit $status
- # make sure this subshell exits with the exit value if it failed
- ) || exit $?
- fi
-
-
- # FIXME: This probably does not work w/ builddir != srcdir because it
- # gets at source files relative to the current directory.
-
-
- if [ "x$newdocument" != "x" ]
- then
- MYDATE="`date -I`"
- MYYEAR="`date +%Y`"
- MYUSERNAME="`whoami`"
- MYDOMAIN="`hostname -d`"
- MYSERIESID="`scrollkeeper-gen-seriesid`"
- MYDOCUMENT="$newdocument"
-
- ( # FIXME: check if any of these already exist, and overwrite only if $force
- mkdir -p "help/$newdocument/C" && \
- sed \
- -e 's/@DATE@/$MYDATE/g' \
- -e 's/@YEAR@/$MYYEAR/g' \
- -e 's/@USERNAME@/$MYUSERNAME/g' \
- -e 's/@DOMAIN@/$MYDOMAIN/g' \
- -e 's/@DOCUMENT@/$MYDOCUMENT/g' \
- < $xml_template > "help/$newdocument/C/$newdocument.xml" && \
- $sed \
- -e 's/@DATE@/$MYDATE/g' \
- -e 's/@SERIESID@/$MYSERIESID/g' \
- < $omf_template > "help/$newdocument/$newdocument.omf.in" && \
- sed \
- -e 's/@DOCUMENT@/$MYDOCUMENT/g' \
- < $makefile_template > "help/$newdocument/Makefile.am"
- )
- fi
-
- exit $status
-
- # Local Variables:
- # mode:shell-script
- # sh-indentation:2
- # End:
-